package com.css.dzj.dzjdzqs.modules.apunitmessage.service.impl;

import com.alibaba.fastjson.JSON;
import com.css.dzj.dzjdzqs.common.util.HttpClientUtil;
import com.css.dzj.dzjdzqs.modules.apunitmessage.entity.JgJgdxQyjbxxEntity;
import com.css.dzj.dzjdzqs.modules.apunitmessage.mapper.JgJgdxQyjbxxMapper;
import com.css.dzj.dzjdzqs.modules.apunitmessage.service.JgJgdxQyjbxxService;
import com.css.dzj.dzjdzqs.modules.datafromzfjg.entity.JgLhjgJcdxEntity;
import com.css.dzj.dzjdzqs.modules.datafromzfjg.mapper.JgLhjgJcdxMapper;
import com.css.dzj.dzjdzqs.modules.datafromzfjg.service.JgLhjgJcdxService;
import com.css.dzj.dzjdzqs.modules.datafromzfjg.vo.JgLhjgJcdxVo;
import com.css.dzj.dzjdzqs.modules.apunitmessage.vo.ApUnitEntityVo;
import com.querydsl.jpa.impl.JPAQueryFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.math.BigDecimal;
import java.util.List;

@Service
public class JgJgdxQyjbxxServiceImpl implements JgJgdxQyjbxxService {

    @Value("${AP_URL}")
    private String apUrl;
    @Autowired
    private JPAQueryFactory jpaQueryFactory;
    @Autowired
    private JgJgdxQyjbxxMapper jgJgdxQyjbxxMapper;
    @Override
    @Transactional
    public void addApUnitMsg()  {
        try {
            String list = HttpClientUtil.doGet(apUrl + "/apunit/queryAllApUnitMsg");
            List<ApUnitEntityVo> results = JSON.parseArray(list, ApUnitEntityVo.class);

            for (ApUnitEntityVo result : results) {
                JgJgdxQyjbxxEntity jgJgdxQyjbxxEntity = new JgJgdxQyjbxxEntity();
                jgJgdxQyjbxxEntity.setId(result.getId());
                jgJgdxQyjbxxEntity.setPripid(result.getPripId());
                        jgJgdxQyjbxxEntity.setRegNo(result.getRegNo());
                jgJgdxQyjbxxEntity.setUniScid(result.getUniscid());
                        jgJgdxQyjbxxEntity.setEntName(result.getUnitName());
                jgJgdxQyjbxxEntity.setEntType(result.getEntType());
                        jgJgdxQyjbxxEntity.setEntTypeCn(result.getEntTypeCn());
                jgJgdxQyjbxxEntity.setIndustryCategory(result.getIndustryCategory());
                        jgJgdxQyjbxxEntity.setOrganizationClass(result.getOrganizationClass());
                jgJgdxQyjbxxEntity.setNationalEconomy(result.getNationalEconomy());
                        jgJgdxQyjbxxEntity.setLeRep(result.getLegalMan());
                 //String 类型转换成bigDecimal
                BigDecimal bd =new BigDecimal(result.getRegistMoney());
                jgJgdxQyjbxxEntity.setRegCap(bd);
                        jgJgdxQyjbxxEntity.setCurrency("人民币");
                jgJgdxQyjbxxEntity.setCurrencyCn("人民币");
                        jgJgdxQyjbxxEntity.setDom(result.getDom());
                jgJgdxQyjbxxEntity.setOpLoc(result.getOpLoc());
                        jgJgdxQyjbxxEntity.setOpFrom(result.getOpFrom());
                jgJgdxQyjbxxEntity.setOpTo(result.getOpTo());
                        jgJgdxQyjbxxEntity.setOpScope(result.getOpScope());
                jgJgdxQyjbxxEntity.setOpScoTypeCn(result.getOpScoTypeCn());
                        jgJgdxQyjbxxEntity.setRegOrg(result.getRegOrg());
                jgJgdxQyjbxxEntity.setRegOrgCn(result.getRegOrgCn());
                        jgJgdxQyjbxxEntity.setRegState(result.getRegState());
                jgJgdxQyjbxxEntity.setEstDate(result.getUnitRegistTime());
                        jgJgdxQyjbxxEntity.setApprDate(result.getApprDate());
                jgJgdxQyjbxxEntity.setRevDate(result.getRevDate());
                        jgJgdxQyjbxxEntity.setSugRevReason(result.getSugRevReason());
                jgJgdxQyjbxxEntity.setLinkmanName(result.getLinkMan());
                        jgJgdxQyjbxxEntity.setLinkmanCerNo(result.getLinkmanCerNo());
                jgJgdxQyjbxxEntity.setLinkmanPhone(result.getLinkTel());
                        jgJgdxQyjbxxEntity.setOperatingLongitude(result.getOperatingLongitude());
                jgJgdxQyjbxxEntity.setOperatingLatitude(result.getOperatingLatitude());
                        jgJgdxQyjbxxMapper.save(jgJgdxQyjbxxEntity);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
